(Save active file's data to SRAM)

CD/B1D2: 8B           PHB 
CD/B1D3: F4 30 30     PEA $3030
CD/B1D6: AB           PLB 
CD/B1D7: AB           PLB            (set Data Bank to 30h, so we can address both
                                      SRAM and LowRAM.  but not HighRAM, unless
                                      we override.)
CD/B1D8: A5 22        LDA $22
CD/B1DA: 85 26        STA $26
CD/B1DC: A5 24        LDA $24
CD/B1DE: 85 28        STA $28
CD/B1E0: A5 2E        LDA $2E        (get offset into Bank 30h where this save
                                      slot's info starts?)
CD/B1E2: 18           CLC 
CD/B1E3: 69 02 00     ADC #$0002
CD/B1E6: 85 22        STA $22
CD/B1E8: A9 30 00     LDA #$0030
CD/B1EB: 85 24        STA $24
CD/B1ED: 22 49 B1 80  JSR $80B149
CD/B1F1: A5 2E        LDA $2E        (get offset into Bank 30h where this save
                                      slot's info starts?)
CD/B1F3: 18           CLC 
CD/B1F4: 69 26 00     ADC #$0026
CD/B1F7: 85 22        STA $22        ($00:0022 thru $00:0024 points to where to
                                      hold Boy's name in SRAM)
CD/B1F9: A9 10 22     LDA #$2210
CD/B1FC: 85 26        STA $26
CD/B1FE: A9 7E 00     LDA #$007E
CD/B201: 85 28        STA $28        ($00:0026 thru $00:0028 points to Boy's name
                                      in main RAM)
CD/B203: 22 49 B1 80  JSR $80B149    (copy Boy's name from main RAM buffer into
                                      SRAM)
CD/B207: A5 2E        LDA $2E        (get offset into Bank 30h where this save
                                      slot's info starts?)
CD/B209: 18           CLC 
CD/B20A: 69 4A 00     ADC #$004A
CD/B20D: 85 22        STA $22        ($00:0022 thru $00:0024 points to where to
                                      hold Dog's name in SRAM)
CD/B20F: A9 34 22     LDA #$2234
CD/B212: 85 26        STA $26
CD/B214: A9 7E 00     LDA #$007E
CD/B217: 85 28        STA $28        ($00:0026 thru $00:0028 points to Dog's name
                                      in main RAM)
CD/B219: 22 49 B1 80  JSR $80B149    (copy Dog's name from main RAM buffer into
                                      SRAM)
CD/B21D: A6 2E        LDX $2E        (get offset into Bank 30h where this save
                                      slot's info starts?)
CD/B21F: AF B3 4E 7E  LDA $7E4EB3    (note the override to ensure that we
                                      read from Bank 7Eh.)
CD/B223: 9D 6E 00     STA $006E,X    (save Boy's Current HP to SRAM)
CD/B226: AF 23 4F 7E  LDA $7E4F23
CD/B22A: 9D 88 00     STA $0088,X
CD/B22D: AF 25 4F 7E  LDA $7E4F25
CD/B231: 9D 8A 00     STA $008A,X
CD/B234: AF 27 4F 7E  LDA $7E4F27
CD/B238: 9D 8C 00     STA $008C,X
CD/B23B: AD 35 0A     LDA $0A35
CD/B23E: 9D 8E 00     STA $008E,X    (save Boy's Max HP to SRAM)
CD/B241: AD 3F 0A     LDA $0A3F
CD/B244: 9D 90 00     STA $0090,X    (save Boy's Attack to SRAM)
CD/B247: AD 41 0A     LDA $0A41
CD/B24A: 9D 92 00     STA $0092,X    (save Boy's Defense to SRAM)
CD/B24D: AD 43 0A     LDA $0A43
CD/B250: 9D 94 00     STA $0094,X    (save Boy's Magic Defense to SRAM)
CD/B253: AD 45 0A     LDA $0A45
CD/B256: 9D 96 00     STA $0096,X    (save Boy's Evade % to SRAM)
CD/B259: AD 47 0A     LDA $0A47
CD/B25C: 9D 98 00     STA $0098,X    (save Boy's Hit % to SRAM)
CD/B25F: AD 49 0A     LDA $0A49
CD/B262: 9D 9A 00     STA $009A,X    (save Boy's Experience, bottom two bytes of
                                      three, to SRAM)
CD/B265: AD 4A 0A     LDA $0A4A
CD/B268: 9D 9B 00     STA $009B,X    (save Boy's Experience, top two bytes of
                                      three, to SRAM)
CD/B26B: AD 50 0A     LDA $0A50
CD/B26E: 9D 9D 00     STA $009D,X    (save Boy's Level to SRAM)
CD/B271: AD 52 0A     LDA $0A52
CD/B274: 9D 9F 00     STA $009F,X
CD/B277: AD 29 4F     LDA $4F29      (reading from Bank 30h, when we want it
                                      to be Bank 7Eh.)
CD/B27A: 9D A1 00     STA $00A1,X    (try to save overall Boost to Boy's Attack
                                      from alchemy/items/statuses to SRAM)
CD/B27D: AD 2B 4F     LDA $4F2B      (reading from Bank 30h, when we want 7Eh)
CD/B280: 9D A3 00     STA $00A3,X    (try to save overall Boost to Boy's Defense
                                      from alchemy/items/statuses to SRAM)
CD/B283: AD 2D 4F     LDA $4F2D      (reading from Bank 30h, when we want 7Eh)
CD/B286: 9D A5 00     STA $00A5,X    (try to save overall Boost to Boy's Evade %
                                      from alchemy/items/statuses to SRAM)
CD/B289: AD 2F 4F     LDA $4F2F      (reading from Bank 30h, when we want 7Eh)
CD/B28C: 9D A7 00     STA $00A7,X    (try to save overall Boost to Boy's Hit %
                                      from alchemy/items/statuses to SRAM)
CD/B28F: AD 31 4F     LDA $4F31      (reading from Bank 30h, when we want 7Eh)
CD/B292: 9D A9 00     STA $00A9,X    (try to save overall Boost to Boy's Magic
                                      Defense from alchemy/items/statuses [none
                                      currently exist, though] to SRAM)
CD/B295: AD 33 4F     LDA $4F33      (reading from Bank 30h, when we want 7Eh)
CD/B298: 9D AB 00     STA $00AB,X
CD/B29B: AD 35 4F     LDA $4F35      (reading from Bank 30h, when we want 7Eh)
CD/B29E: 9D AD 00     STA $00AD,X
CD/B2A1: AF 61 4F 7E  LDA $7E4F61    (see, now we're reading from the right
                                      bank again.)
CD/B2A5: 9D AF 00     STA $00AF,X    (save Dog's Current HP to SRAM)
CD/B2A8: AF D1 4F 7E  LDA $7E4FD1
CD/B2AC: 9D C9 00     STA $00C9,X
CD/B2AF: AF D3 4F 7E  LDA $7E4FD3
CD/B2B3: 9D CB 00     STA $00CB,X
CD/B2B6: AF D5 4F 7E  LDA $7E4FD5
CD/B2BA: 9D CD 00     STA $00CD,X
CD/B2BD: AD 7F 0A     LDA $0A7F
CD/B2C0: 9D CF 00     STA $00CF,X    (save Dog's Max HP to SRAM)
CD/B2C3: AD 89 0A     LDA $0A89
CD/B2C6: 9D D1 00     STA $00D1,X    (save Dog's Attack to SRAM)
CD/B2C9: AD 8B 0A     LDA $0A8B
CD/B2CC: 9D D3 00     STA $00D3,X    (save Dog's Defense to SRAM)
CD/B2CF: AD 8D 0A     LDA $0A8D
CD/B2D2: 9D D5 00     STA $00D5,X    (save Dog's Magic Defense to SRAM)
CD/B2D5: AD 8F 0A     LDA $0A8F
CD/B2D8: 9D D7 00     STA $00D7,X    (save Dog's Evade % to SRAM)
CD/B2DB: AD 91 0A     LDA $0A91
CD/B2DE: 9D D9 00     STA $00D9,X    (save Dog's Hit % to SRAM)
CD/B2E1: AD 93 0A     LDA $0A93
CD/B2E4: 9D DB 00     STA $00DB,X    (save Dog's Experience, bottom two bytes of
                                      three, to SRAM)
CD/B2E7: AD 94 0A     LDA $0A94
CD/B2EA: 9D DC 00     STA $00DC,X    (save Dog's Experience, top two bytes of
                                      three, to SRAM)
CD/B2ED: AD 9A 0A     LDA $0A9A
CD/B2F0: 9D DE 00     STA $00DE,X    (save Dog's Level to SRAM)
CD/B2F3: AD 9C 0A     LDA $0A9C
CD/B2F6: 9D E0 00     STA $00E0,X
CD/B2F9: AD D7 4F     LDA $4FD7      (reading from Bank 30h, when we want it
                                      to be Bank 7Eh.)
CD/B2FC: 9D E2 00     STA $00E2,X    (try to save overall Boost to Dog's Attack
                                      from alchemy/items/statuses to SRAM)
CD/B2FF: AD D9 4F     LDA $4FD9      (reading from Bank 30h, when we want 7Eh)
CD/B302: 9D E4 00     STA $00E4,X    (try to save overall Boost to Dog's Defense
                                      from alchemy/items/statuses to SRAM)
CD/B305: AD DB 4F     LDA $4FDB      (reading from Bank 30h, when we want 7Eh)
CD/B308: 9D E6 00     STA $00E6,X    (try to save overall Boost to Dog's Evade %
                                      from alchemy/items/statuses to SRAM)
CD/B30B: AD DD 4F     LDA $4FDD      (reading from Bank 30h, when we want 7Eh)
CD/B30E: 9D E8 00     STA $00E8,X    (try to save overall Boost to Dog's Hit %
                                      from alchemy/items/statuses to SRAM)
CD/B311: AD DF 4F     LDA $4FDF      (reading from Bank 30h, when we want 7Eh)
CD/B314: 9D EA 00     STA $00EA,X    (try to save overall Boost to Dog's Magic
                                      Defense from alchemy/items/statuses [none
                                      currently exist, though] to SRAM)
CD/B317: AD E1 4F     LDA $4FE1      (reading from Bank 30h, when we want 7Eh)
CD/B31A: 9D EC 00     STA $00EC,X
CD/B31D: AD E3 4F     LDA $4FE3      (reading from Bank 30h, when we want 7Eh)
CD/B320: 9D EE 00     STA $00EE,X

(The following loop will save the status words for the characters.  Each
 character can have up to 4 statuses at a time, with the format being:
 Bytes 0-1 = Status ID [FFFFh = none], Bytes 2-3 = Status timer,
 Bytes 4-5 = Boost provided to statistic(s) from status)

CD/B323:    A20000      LDX #$0000
CD/B326:    A42E        LDY $2E        (get offset into Bank 30h where this save
                                        slot's info starts?  TXY would've worked
                                        fine, i think.)
CD/B328:    BFCF4E7E    LDA $7E4ECF,X
CD/B32C:    997000      STA $0070,Y    (save Boy's status data to SRAM)
CD/B32F:    BF7D4F7E    LDA $7E4F7D,X
CD/B333:    99B100      STA $00B1,Y    (save Dog's status data to SRAM)
CD/B336:    E8          INX 
CD/B337:    E8          INX 
CD/B338:    C8          INY 
CD/B339:    C8          INY 
CD/B33A:    E01800      CPX #$0018
CD/B33D:    D0E9        BNE $B328      (iterate 12 times, as each character has
                                        12 status words.)
CD/B33F:    A62E        LDX $2E        (get offset into Bank 30h where this save
                                        slot's info starts?)
CD/B341:    8A          TXA 
CD/B342:    18          CLC 
CD/B343:    69F000      ADC #$00F0
CD/B346:    8D1243      STA $4312      (beginning write offset will be 240 bytes
                                        from start of save file)
CD/B349:    E220        SEP #$20
CD/B34B:    A930        LDA #$30
CD/B34D:    8D1443      STA $4314      (will write to Bank 30h)
CD/B350:    A980        LDA #$80
CD/B352:    8D1143      STA $4311      (will read from address $00:2180, WRAM)
CD/B355:    A06500      LDY #$0065
CD/B358:    8C1543      STY $4315      (will copy 101 bytes)
CD/B35B:    A0BA0A      LDY #$0ABA
CD/B35E:    8C8121      STY $2181
CD/B361:    A900        LDA #$00
CD/B363:    8D8321      STA $2183      (WRAM will start addressing at $7E:0ABA)
CD/B366:    A980        LDA #$80
CD/B368:    8D1043      STA $4310      (will write from one register to CPU
                                        memory, incrementing CPU address after
                                        each byte copied)
CD/B36B:    A902        LDA #$02
CD/B36D:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B370:    C220        REP #$20
CD/B372:    8A          TXA 
CD/B373:    18          CLC 
CD/B374:    695501      ADC #$0155
CD/B377:    8D1243      STA $4312      (beginning write offset will be 341 bytes
                                        from start of save file)
CD/B37A:    E220        SEP #$20
CD/B37C:    A930        LDA #$30
CD/B37E:    8D1443      STA $4314      (will write to Bank 30h)
CD/B381:    A980        LDA #$80
CD/B383:    8D1143      STA $4311      (will read from address $00:2180, WRAM)
CD/B386:    A0A200      LDY #$00A2
CD/B389:    8C1543      STY $4315      (will copy 162 bytes)
CD/B38C:    A0522F      LDY #$2F52
CD/B38F:    8C8121      STY $2181
CD/B392:    A97E        LDA #$7E
CD/B394:    8D8321      STA $2183      (WRAM will start addressing at $7E:2F52)
CD/B397:    A980        LDA #$80
CD/B399:    8D1043      STA $4310      (will write from one register to CPU
                                        memory, incrementing CPU address after
                                        each byte copied)
CD/B39C:    A902        LDA #$02
CD/B39E:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B3A1:    C220        REP #$20
CD/B3A3:    8A          TXA 
CD/B3A4:    18          CLC 
CD/B3A5:    69F701      ADC #$01F7
CD/B3A8:    8D1243      STA $4312      (beginning write offset will be 503 bytes
                                        from start of save file)
CD/B3AB:    A95822      LDA #$2258
CD/B3AE:    8D8121      STA $2181
CD/B3B1:    E220        SEP #$20
CD/B3B3:    A930        LDA #$30
CD/B3B5:    8D1443      STA $4314      (will write to Bank 30h)
CD/B3B8:    A980        LDA #$80
CD/B3BA:    8D1143      STA $4311      (will read from address $00:2180, WRAM)
CD/B3BD:    A09200      LDY #$0092
CD/B3C0:    8C1543      STY $4315      (will copy 146 bytes)
CD/B3C3:    A97E        LDA #$7E
CD/B3C5:    8D8321      STA $2183      (WRAM will start addressing at $7E:2258)
CD/B3C8:    A980        LDA #$80
CD/B3CA:    8D1043      STA $4310      (will write from one register to CPU
                                        memory, incrementing CPU address after
                                        each byte copied)
CD/B3CD:    A902        LDA #$02
CD/B3CF:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B3D2:    C220        REP #$20
CD/B3D4:    8A          TXA 
CD/B3D5:    18          CLC 
CD/B3D6:    698902      ADC #$0289
CD/B3D9:    8D1243      STA $4312      (beginning write offset will be 649 bytes
                                        from start of save file)
CD/B3DC:    A9FF22      LDA #$22FF
CD/B3DF:    8D8121      STA $2181
CD/B3E2:    E220        SEP #$20
CD/B3E4:    A930        LDA #$30
CD/B3E6:    8D1443      STA $4314      (will write to Bank 30h)
CD/B3E9:    A980        LDA #$80
CD/B3EB:    8D1143      STA $4311      (will read from address $00:2180, WRAM)
CD/B3EE:    A05C00      LDY #$005C
CD/B3F1:    8C1543      STY $4315      (will copy 92 bytes)
CD/B3F4:    A97E        LDA #$7E
CD/B3F6:    8D8321      STA $2183      (WRAM will start addressing at $7E:22FF)
CD/B3F9:    A980        LDA #$80
CD/B3FB:    8D1043      STA $4310      (will write from one register to CPU
                                        memory, incrementing CPU address after
                                        each byte copied)
CD/B3FE:    A902        LDA #$02
CD/B400:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B403:    C220        REP #$20
CD/B405:    8A          TXA 
CD/B406:    18          CLC 
CD/B407:    69E502      ADC #$02E5
CD/B40A:    8D1243      STA $4312      (beginning write offset will be 741 bytes
                                        from start of save file)
CD/B40D:    A96123      LDA #$2361
CD/B410:    8D8121      STA $2181
CD/B413:    E220        SEP #$20
CD/B415:    A930        LDA #$30
CD/B417:    8D1443      STA $4314      (will write to Bank 30h)
CD/B41A:    A980        LDA #$80
CD/B41C:    8D1143      STA $4311      (will read from address $00:2180, WRAM)
CD/B41F:    A02C00      LDY #$002C
CD/B422:    8C1543      STY $4315      (will copy 44 bytes)
CD/B425:    A97E        LDA #$7E
CD/B427:    8D8321      STA $2183      (WRAM will start addressing at $7E:2361)
CD/B42A:    A980        LDA #$80
CD/B42C:    8D1043      STA $4310      (will write from one register to CPU
                                        memory, incrementing CPU address after
                                        each byte copied)
CD/B42F:    A902        LDA #$02
CD/B431:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B434:    C220        REP #$20
CD/B436:    8A          TXA 
CD/B437:    18          CLC 
CD/B438:    691103      ADC #$0311
CD/B43B:    8D1243      STA $4312      (beginning write offset will be 785 bytes
                                        from start of save file)
CD/B43E:    A91325      LDA #$2513
CD/B441:    8D8121      STA $2181
CD/B444:    E220        SEP #$20
CD/B446:    A930        LDA #$30
CD/B448:    8D1443      STA $4314      (will write to Bank 30h)
CD/B44B:    A980        LDA #$80
CD/B44D:    8D1143      STA $4311      (will read from address $00:2180, WRAM)
CD/B450:    A02000      LDY #$0020
CD/B453:    8C1543      STY $4315      (will copy 32 bytes)
CD/B456:    A97E        LDA #$7E
CD/B458:    8D8321      STA $2183      (WRAM will start addressing at $7E:2513)
CD/B45B:    A980        LDA #$80
CD/B45D:    8D1043      STA $4310      (will write from one register to CPU
                                        memory, incrementing CPU address after
                                        each byte copied)
CD/B460:    A902        LDA #$02
CD/B462:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B465:    C220        REP #$20       (set 16-bit Accumulator)
CD/B467:    E8          INX 
CD/B468:    E8          INX 
CD/B469:    A02F03      LDY #$032F     (there are 815 bytes of data, excluding
                                        checksum, in a save slot)
CD/B46C:    2278B48D    JSR $8DB478    (calculate this game slot's checksum)
CD/B470:    A62E        LDX $2E
CD/B472:    9D0000      STA $0000,X    (save 16-bit checksum to beginning of
                                        slot's SRAM data)
CD/B475:    AB          PLB            (restore old Data Bank)
CD/B476:    6B          RTL 


(what's this for?)
CD/B477: 00


(Calculate the 16-bit checksum of a save slot)

CD/B478: A9 3F 04     LDA #$043F       (start checksum off at a big number,
                                        which happens to be prime.  SoE Europe
                                        uses 16FFh, which isn't prime.)
CD/B47B: E2 20        SEP #$20         (set 8-bit Accumulator)
CD/B47D: 18           CLC 
CD/B47E: 7D 00 00     ADC $0000,X      (add first byte of SRAM data to bottom
                                        byte of starting value)
CD/B481: 88           DEY 
CD/B482: F0 0B        BEQ $B48F        (exit loop if we've covered all bytes in
                                        the save data)
CD/B484: E8           INX
CD/B485: C2 20        REP #$20         (set 16-bit Accumulator)
CD/B487: 0A           ASL              (multiply running 16-bit checksum by 2)
CD/B488: E2 20        SEP #$20         (set 8-bit Accumulator)
CD/B48A: 7D 00 00     ADC $0000,X      (add next byte of SRAM data to bottom
                                        byte of running checksum, including any
                                        carry from the above shift)
CD/B48D: 80 F2        BRA $B481        (loop to next byte of SRAM data)
CD/B48F: C2 20        REP #$20         (set 16-bit Accumulator)
CD/B491: 6B           RTL 


CD/B492: E2 20        SEP #$20
CD/B494: AF EB 22 7E  LDA $7E22EB
CD/B498: 29 02 48     AND #$4802
CD/B49B: C2 20        REP #$20
CD/B49D: 22 4D 8D 80  JSR $808D4D
CD/B4A1: A9 0F 00     LDA #$000F
CD/B4A4: 8F 8F 23 7E  STA $7E238F
CD/B4A8: E2 20        SEP #$20
CD/B4AA: 68           PLA 
CD/B4AB: 8F EB 22 7E  STA $7E22EB
CD/B4AF: C2 20        REP #$20
CD/B4B1: 22 7F A0 8D  JSR $8DA07F
CD/B4B5: 22 AC B1 8F  JSR $8FB1AC
CD/B4B9: 22 3C 80 8F  JSR $8F803C
CD/B4BD: 22 86 9A 8E  JSR $8E9A86
CD/B4C1: A9 A4 19     LDA #$19A4
CD/B4C4: 8D 15 0B     STA $0B15
CD/B4C7: 9C 17 0B     STZ $0B17
CD/B4CA: 22 E7 9D 8C  JSR $8C9DE7
CD/B4CE: 22 15 CC 91  JSR $91CC15
CD/B4D2: 22 10 AB 8C  JSR $8CAB10
CD/B4D6: A2 00 00     LDX #$0000
CD/B4D9: 22 AF 9D 8C  JSL $8C9DAF
CD/B4DD: 22 FA B4 8D  JSL $8DB4FA
CD/B4E1: AF 63 23 7E  LDA $7E2363    (get Dog state)
CD/B4E5: 8F 43 24 7E  STA $7E2443
CD/B4E9: AD BA 0A     LDA $0ABA      (get currently held weapon)
CD/B4EC: 8F 41 24 7E  STA $7E2441
CD/B4F0: A9 01 00     LDA #$0001
CD/B4F3: 8D B2 0F     STA $0FB2
CD/B4F6: 5C E2 E4 8E  JMP $8EE4E2


(Load a save file's data from SRAM)

CD/B4FA: 8B           PHB 
CD/B4FB: F4 30 30     PEA $3030
CD/B4FE: AB           PLB 
CD/B4FF: AB           PLB            (set Data Bank to 30h, so we can address both
                                      SRAM and LowRAM.  but not HighRAM, unless
                                      we override.)
CD/B500: A9 30 00     LDA #$0030
CD/B503: 85 28        STA $28
CD/B505: AE 3B 0B     LDX $0B3B      (selected save slot: 0-6, even number)
CD/B508: BF 9A 59 C4  LDA $C4599A,X  (get beginning bank offset of this save
                                      slot's data)
CD/B50C: 18           CLC 
CD/B50D: 69 26 00     ADC #$0026
CD/B510: 85 26        STA $26        ($00:0026 thru $00:0028 points to Boy's name
                                      in SRAM)
CD/B512: A9 10 22     LDA #$2210
CD/B515: 85 22        STA $22
CD/B517: A9 7E 00     LDA #$007E
CD/B51A: 85 24        STA $24        ($00:0022 thru $00:0024 points to where to
                                      hold Dog's name in main RAM)
CD/B51C: 22 49 B1 80  JSR $80B149    (copy Boy's name to a buffer in main RAM,
                                      even though we're not displaying it
                                      imminently)
CD/B520: AE 3B 0B     LDX $0B3B      (selected save slot: 0-6, even number)
CD/B523: BF 9A 59 C4  LDA $C4599A,X  (get beginning bank offset of this save
                                      slot's data)
CD/B527: 18           CLC 
CD/B528: 69 4A 00     ADC #$004A
CD/B52B: 85 26        STA $26        ($00:0026 thru $00:0028 points to Dog's name
                                      in SRAM)
CD/B52D: A9 34 22     LDA #$2234
CD/B530: 85 22        STA $22
CD/B532: A9 7E 00     LDA #$007E
CD/B535: 85 24        STA $24        ($00:0022 thru $00:0024 points to where to
                                      hold Dog's name in main RAM)
CD/B537: 22 49 B1 80  JSR $80B149    (copy Dog's name to a buffer in main RAM,
                                      even though we're not displaying it
                                      imminently)
CD/B53B: AE 3B 0B     LDX $0B3B      (selected save slot: 0-6, even number)
CD/B53E: BF 9A 59 C4  LDA $C4599A,X  (get beginning bank offset of this save
                                      slot's data)
CD/B542: AA           TAX 
CD/B543: BD 6E 00     LDA $006E,X    (get Boy's Current HP from SRAM)
CD/B546: 8F B3 4E 7E  STA $7E4EB3    (note the override to ensure that we
                                      write to Bank 7Eh.)
CD/B54A: BD 88 00     LDA $0088,X
CD/B54D: 8F 23 4F 7E  STA $7E4F23
CD/B551: BD 8A 00     LDA $008A,X
CD/B554: 8F 25 4F 7E  STA $7E4F25
CD/B558: BD 8C 00     LDA $008C,X
CD/B55B: 8F 27 4F 7E  STA $7E4F27
CD/B55F: BD 8E 00     LDA $008E,X    (get Boy's Max HP from SRAM)
CD/B562: 8D 35 0A     STA $0A35
CD/B565: BD 90 00     LDA $0090,X    (get Boy's Attack from SRAM)
CD/B568: 8D 3F 0A     STA $0A3F
CD/B56B: BD 92 00     LDA $0092,X    (get Boy's Defense from SRAM)
CD/B56E: 8D 41 0A     STA $0A41
CD/B571: BD 94 00     LDA $0094,X    (get Boy's Magic Defense from SRAM)
CD/B574: 8D 43 0A     STA $0A43
CD/B577: BD 96 00     LDA $0096,X    (get Boy's Evade % from SRAM)
CD/B57A: 8D 45 0A     STA $0A45
CD/B57D: BD 98 00     LDA $0098,X    (get Boy's Hit % from SRAM)
CD/B580: 8D 47 0A     STA $0A47
CD/B583: BD 9A 00     LDA $009A,X    (get Boy's Experience, bottom two bytes
                                      of three, from SRAM)
CD/B586: 8D 49 0A     STA $0A49
CD/B589: BD 9B 00     LDA $009B,X    (get Boy's Experience, top two bytes of
                                      three, from SRAM)
CD/B58C: 8D 4A 0A     STA $0A4A
CD/B58F: BD 9D 00     LDA $009D,X    (get Boy's Level from SRAM)
CD/B592: 8D 50 0A     STA $0A50
CD/B595: BD 9F 00     LDA $009F,X
CD/B598: 8D 52 0A     STA $0A52
CD/B59B: BD A1 00     LDA $00A1,X    (get overall Boost to Boy's Attack from
                                      alchemy/items/statuses from SRAM)
CD/B59E: 8D 29 4F     STA $4F29      (writing to Bank 30h, when we want it
                                      to be Bank 7Eh.)
CD/B5A1: BD A3 00     LDA $00A3,X    (get overall Boost to Boy's Defense from
                                      alchemy/items/statuses from SRAM)
CD/B5A4: 8D 2B 4F     STA $4F2B      (writing to Bank 30h, when we want 7Eh)
CD/B5A7: BD A5 00     LDA $00A5,X    (get overall Boost to Boy's Evade % from
                                      alchemy/items/statuses from SRAM)
CD/B5AA: 8D 2D 4F     STA $4F2D      (writing to Bank 30h, when we want 7Eh)
CD/B5AD: BD A7 00     LDA $00A7,X    (get overall Boost to Boy's Hit % from
                                      alchemy/items/statuses from SRAM)
CD/B5B0: 8D 2F 4F     STA $4F2F      (writing to Bank 30h, when we want 7Eh)
CD/B5B3: BD A9 00     LDA $00A9,X    (get overall Boost to Boy's Magic Defense
                                      from alchemy/items/statuses [none
                                      currently exist, though] from SRAM)
CD/B5B6: 8D 31 4F     STA $4F31      (writing to Bank 30h, when we want 7Eh)
CD/B5B9: BD AB 00     LDA $00AB,X
CD/B5BC: 8D 33 4F     STA $4F33      (writing to Bank 30h, when we want 7Eh)
CD/B5BF: BD AD 00     LDA $00AD,X
CD/B5C2: 8D 35 4F     STA $4F35      (writing to Bank 30h, when we want 7Eh)
CD/B5C5: BD AF 00     LDA $00AF,X    (get Dog's Current HP from SRAM)
CD/B5C8: 8F 61 4F 7E  STA $7E4F61    (see, now we're writing to the right
                                      bank again.)
CD/B5CC: BD C9 00     LDA $00C9,X
CD/B5CF: 8F D1 4F 7E  STA $7E4FD1
CD/B5D3: BD CB 00     LDA $00CB,X
CD/B5D6: 8F D3 4F 7E  STA $7E4FD3
CD/B5DA: BD CD 00     LDA $00CD,X
CD/B5DD: 8F D5 4F 7E  STA $7E4FD5
CD/B5E1: BD CF 00     LDA $00CF,X    (get Dog's Max HP from SRAM)
CD/B5E4: 8D 7F 0A     STA $0A7F
CD/B5E7: BD D1 00     LDA $00D1,X    (get Dog's Attack from SRAM)  
CD/B5EA: 8D 89 0A     STA $0A89
CD/B5ED: BD D3 00     LDA $00D3,X    (get Dog's Defense from SRAM)
CD/B5F0: 8D 8B 0A     STA $0A8B
CD/B5F3: BD D5 00     LDA $00D5,X    (get Dog's Magic Defense from SRAM)
CD/B5F6: 8D 8D 0A     STA $0A8D
CD/B5F9: BD D7 00     LDA $00D7,X    (get Dog's Evade % from SRAM)
CD/B5FC: 8D 8F 0A     STA $0A8F
CD/B5FF: BD D9 00     LDA $00D9,X    (get Dog's Hit % from SRAM)
CD/B602: 8D 91 0A     STA $0A91
CD/B605: BD DB 00     LDA $00DB,X    (get Dog's Experience, bottom two bytes
                                      of three, from SRAM)
CD/B608: 8D 93 0A     STA $0A93
CD/B60B: BD DC 00     LDA $00DC,X    (get Dog's Experience, top two bytes of
                                      three, from SRAM)
CD/B60E: 8D 94 0A     STA $0A94
CD/B611: BD DE 00     LDA $00DE,X    (get Dog's Level from SRAM)
CD/B614: 8D 9A 0A     STA $0A9A
CD/B617: BD E0 00     LDA $00E0,X
CD/B61A: 8D 9C 0A     STA $0A9C
CD/B61D: BD E2 00     LDA $00E2,X    (get overall Boost to Dog's Attack from
                                      alchemy/items/statuses from SRAM)
CD/B620: 8D D7 4F     STA $4FD7      (writing to Bank 30h, when we want it
                                      to be Bank 7Eh.)
CD/B623: BD E4 00     LDA $00E4,X    (get overall Boost to Dog's Defense from
                                      alchemy/items/statuses from SRAM)
CD/B626: 8D D9 4F     STA $4FD9      (writing to Bank 30h, when we want 7Eh)
CD/B629: BD E6 00     LDA $00E6,X    (get overall Boost to Dog's Evade % from
                                      alchemy/items/statuses from SRAM)
CD/B62C: 8D DB 4F     STA $4FDB      (writing to Bank 30h, when we want 7Eh)
CD/B62F: BD E8 00     LDA $00E8,X    (get overall Boost to Dog's Hit % from
                                      alchemy/items/statuses from SRAM)
CD/B632: 8D DD 4F     STA $4FDD      (writing to Bank 30h, when we want 7Eh)
CD/B635: BD EA 00     LDA $00EA,X    (get overall Boost to Dog's Magic Defense
                                      from alchemy/items/statuses [none
                                      currently exist, though] from SRAM)
CD/B638: 8D DF 4F     STA $4FDF      (writing to Bank 30h, when we want 7Eh)
CD/B63B: BD EC 00     LDA $00EC,X
CD/B63E: 8D E1 4F     STA $4FE1      (writing to Bank 30h, when we want 7Eh)
CD/B641: BD EE 00     LDA $00EE,X
CD/B644: 8D E3 4F     STA $4FE3      (writing to Bank 30h, when we want 7Eh)

(The following loop will load the status words for the characters.  Each
 character can have up to 4 statuses at a time, with the format being:
 Bytes 0-1 = Status ID [FFFFh = none], Bytes 2-3 = Status timer,
 Bytes 4-5 = Boost provided to statistic(s) from status)

CD/B647:    9B          TXY
CD/B648:    A20000      LDX #$0000
CD/B64B:    B97000      LDA $0070,Y    (get Boy's status data from SRAM)
CD/B64E:    9FCF4E7E    STA $7E4ECF,X
CD/B652:    B9B100      LDA $00B1,Y    (get Dog's status data from SRAM)
CD/B655:    9F7D4F7E    STA $7E4F7D,X
CD/B659:    E8          INX
CD/B65A:    E8          INX
CD/B65B:    C8          INY
CD/B65C:    C8          INY
CD/B65D:    E01800      CPX #$0018
CD/B660:    D0E9        BNE $B64B      (iterate 12 times, as each character
                                        has 12 status words)
CD/B662:    AE3B0B      LDX $0B3B      (selected save slot: 0-6, even number)
CD/B665:    BF9A59C4    LDA $C4599A,X  (get beginning bank offset of this save
                                        slot's data)
CD/B669:    AA          TAX 
CD/B66A:    DA          PHX 
CD/B66B:    AD500A      LDA $0A50      (get Boy's level)
CD/B66E:    1A          INC A
CD/B66F:    8512        STA $12
CD/B671:    0A          ASL A
CD/B672:    18          CLC 
CD/B673:    6512        ADC $12
CD/B675:    AA          TAX            (X = (level + 1) * 3)
CD/B676:    BFCD8B8C    LDA $8C8BCD,X  (from ROM: bottom 2 bytes [of 3] of
                                        Total Experience for Boy to reach
                                        next level)
CD/B67A:    8F1D4F7E    STA $7E4F1D
CD/B67E:    BFCE8B8C    LDA $8C8BCE,X  (from ROM: top 2 bytes [of 3] of
                                        Total Experience for Boy to reach
                                        next level)
CD/B682:    8F1E4F7E    STA $7E4F1E
CD/B686:    AD9A0A      LDA $0A9A      (get Dog's level)
CD/B689:    1A          INC A
CD/B68A:    8512        STA $12
CD/B68C:    0A          ASL A
CD/B68D:    18          CLC 
CD/B68E:    6512        ADC $12
CD/B690:    AA          TAX            (X = (level + 1) * 3)
CD/B691:    BFF98C8C    LDA $8C8CF9,X  (from ROM: bottom 2 bytes [of 3] of
                                        Total Experience for Dog to reach
                                        next level)
CD/B695:    8FCB4F7E    STA $7E4FCB
CD/B699:    BFFA8C8C    LDA $8C8CFA,X  (from ROM: top 2 bytes [of 3] of
                                        Total Experience for Dog to reach
                                        next level)
CD/B69D:    8FCC4F7E    STA $7E4FCC
CD/B6A1:    A301        LDA $01,S      (get starting offset of save file)
CD/B6A3:    18          CLC 
CD/B6A4:    69F000      ADC #$00F0
CD/B6A7:    8D1243      STA $4312      (beginning read offset will be 240 bytes
                                        from start of save file)
CD/B6AA:    E220        SEP #$20
CD/B6AC:    A930        LDA #$30
CD/B6AE:    8D1443      STA $4314      (will read from Bank 30h)
CD/B6B1:    A980        LDA #$80
CD/B6B3:    8D1143      STA $4311      (will write to address $00:2180, WRAM)
CD/B6B6:    A06500      LDY #$0065
CD/B6B9:    8C1543      STY $4315      (will copy 101 bytes)
CD/B6BC:    A0BA0A      LDY #$0ABA
CD/B6BF:    8C8121      STY $2181
CD/B6C2:    A900        LDA #$00
CD/B6C4:    8D8321      STA $2183      (WRAM will start addressing at $7E:0ABA)
CD/B6C7:    A900        LDA #$00
CD/B6C9:    8D1043      STA $4310      (will write from CPU memory to one
                                        register, incrementing CPU address after
                                        each byte copied)
CD/B6CC:    A902        LDA #$02
CD/B6CE:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B6D1:    C220        REP #$20
CD/B6D3:    68          PLA            (get starting offset of save file)
CD/B6D4:    AA          TAX 
CD/B6D5:    18          CLC 
CD/B6D6:    695501      ADC #$0155
CD/B6D9:    8D1243      STA $4312      (beginning read offset will be 341 bytes
                                        from start of save file)
CD/B6DC:    E220        SEP #$20
CD/B6DE:    A930        LDA #$30
CD/B6E0:    8D1443      STA $4314      (will read from Bank 30h)
CD/B6E3:    A980        LDA #$80
CD/B6E5:    8D1143      STA $4311      (will write to address $00:2180, WRAM)
CD/B6E8:    A0A200      LDY #$00A2
CD/B6EB:    8C1543      STY $4315      (will copy 162 bytes)
CD/B6EE:    A0522F      LDY #$2F52
CD/B6F1:    8C8121      STY $2181
CD/B6F4:    A97E        LDA #$7E
CD/B6F6:    8D8321      STA $2183      (WRAM will start addressing at $7E:2F52)
CD/B6F9:    A900        LDA #$00
CD/B6FB:    8D1043      STA $4310      (will write from CPU memory to one
                                        register, incrementing CPU address after
                                        each byte copied)
CD/B6FE:    A902        LDA #$02
CD/B700:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B703:    C220        REP #$20
CD/B705:    8A          TXA 
CD/B706:    18          CLC 
CD/B707:    69F701      ADC #$01F7
CD/B70A:    8D1243      STA $4312      (beginning read offset will be 503 bytes
                                        from start of save file)
CD/B70D:    A95822      LDA #$2258
CD/B710:    8D8121      STA $2181
CD/B713:    E220        SEP #$20
CD/B715:    A930        LDA #$30
CD/B717:    8D1443      STA $4314      (will read from Bank 30h)
CD/B71A:    A980        LDA #$80
CD/B71C:    8D1143      STA $4311      (will write to address $00:2180, WRAM)
CD/B71F:    A09200      LDY #$0092
CD/B722:    8C1543      STY $4315      (will copy 146 bytes)
CD/B725:    A97E        LDA #$7E
CD/B727:    8D8321      STA $2183      (WRAM will start addressing at $7E:2258)
CD/B72A:    A900        LDA #$00
CD/B72C:    8D1043      STA $4310      (will write from CPU memory to one
                                        register, incrementing CPU address after
                                        each byte copied)
CD/B72F:    A902        LDA #$02
CD/B731:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B734:    C220        REP #$20
CD/B736:    8A          TXA 
CD/B737:    18          CLC 
CD/B738:    698902      ADC #$0289
CD/B73B:    8D1243      STA $4312      (beginning read offset will be 649 bytes
                                        from start of save file)
CD/B73E:    A9FF22      LDA #$22FF
CD/B741:    8D8121      STA $2181
CD/B744:    E220        SEP #$20
CD/B746:    A930        LDA #$30
CD/B748:    8D1443      STA $4314      (will read from Bank 30h)
CD/B74B:    A980        LDA #$80
CD/B74D:    8D1143      STA $4311      (will write to address $00:2180, WRAM)
CD/B750:    A05C00      LDY #$005C
CD/B753:    8C1543      STY $4315      (will copy 92 bytes)
CD/B756:    A97E        LDA #$7E
CD/B758:    8D8321      STA $2183      (WRAM will start addressing at $7E:22FF)
CD/B75B:    A900        LDA #$00
CD/B75D:    8D1043      STA $4310      (will write from CPU memory to one
                                        register, incrementing CPU address after
                                        each byte copied)
CD/B760:    A902        LDA #$02
CD/B762:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B765:    C220        REP #$20
CD/B767:    8A          TXA 
CD/B768:    18          CLC 
CD/B769:    69E502      ADC #$02E5
CD/B76C:    8D1243      STA $4312      (beginning read offset will be 741 bytes
                                        from start of save file)
CD/B76F:    A96123      LDA #$2361
CD/B772:    8D8121      STA $2181
CD/B775:    E220        SEP #$20
CD/B777:    A930        LDA #$30
CD/B779:    8D1443      STA $4314      (will read from Bank 30h)
CD/B77C:    A980        LDA #$80
CD/B77E:    8D1143      STA $4311      (will write to address $00:2180, WRAM)
CD/B781:    A02C00      LDY #$002C
CD/B784:    8C1543      STY $4315      (will copy 44 bytes)
CD/B787:    A97E        LDA #$7E
CD/B789:    8D8321      STA $2183      (WRAM will start addressing at $7E:2361)
CD/B78C:    A900        LDA #$00
CD/B78E:    8D1043      STA $4310      (will write from CPU memory to one
                                        register, incrementing CPU address after
                                        each byte copied)
CD/B791:    A902        LDA #$02
CD/B793:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B796:    C220        REP #$20
CD/B798:    8A          TXA 
CD/B799:    18          CLC 
CD/B79A:    691103      ADC #$0311
CD/B79D:    8D1243      STA $4312      (beginning read offset will be 785 bytes
                                        from start of save file)
CD/B7A0:    A91325      LDA #$2513
CD/B7A3:    8D8121      STA $2181
CD/B7A6:    E220        SEP #$20
CD/B7A8:    A930        LDA #$30
CD/B7AA:    8D1443      STA $4314      (will read from Bank 30h)
CD/B7AD:    A980        LDA #$80
CD/B7AF:    8D1143      STA $4311      (will write to address $00:2180, WRAM)
CD/B7B2:    A02000      LDY #$0020
CD/B7B5:    8C1543      STY $4315      (will copy 32 bytes)
CD/B7B8:    A97E        LDA #$7E
CD/B7BA:    8D8321      STA $2183      (WRAM will start addressing at $7E:2513)
CD/B7BD:    A900        LDA #$00
CD/B7BF:    8D1043      STA $4310      (will write from CPU memory to one
                                        register, incrementing CPU address after
                                        each byte copied)
CD/B7C2:    A902        LDA #$02
CD/B7C4:    8D0B42      STA $420B      (initiate transfer on DMA Channel 1)
CD/B7C7:    C220        REP #$20
CD/B7C9:    AB          PLB            (restore old Data Bank)
CD/B7CA:    A90100      LDA #$0001
CD/B7CD:    0FEE227E    ORA $7E22EE
CD/B7D1:    8FEE227E    STA $7E22EE
CD/B7D5:    6B          RTL
